#pragma once
#include "millingtool.h"
#include "Point3D.h"
#include <vector>
using namespace std;

class ToroidalMillingTool :
	public MillingTool
{
protected:
	bool surpassMovementDirectionCond(Point3D & p,const hash_set<int> * visitedPoints);
public:
	ToroidalMillingTool(int diameter,double length);
	~ToroidalMillingTool(void);
	//vector<Point3D>* GetToolSurfacePoints(const Point3D & point,UINT materialWidth,UINT materialHeight);
	double GetMillingErrorAt(const Point3D & surfacePoint);
	void Draw();
};

